Behavioural Analysis of an I2C Linux Driver

نویسندگان

  • Dragan Bosnacki
  • Aad Mathijssen
  • Yaroslav S. Usenko
چکیده

We present an analysis of the behaviour of an IC Linux driver, by means of model checking with the mCRL2 toolset and static analysis with UNO. We have reverse engineered the source code to obtain the structure and interactions of the driver. Based on these results, we have semi-automatically created an mCRL2 model of the behaviour of the driver, on which we have checked mutual exclusion properties. This revealed non-trivial potential errors, like unprotected usage of shared memory variables due to inconsistent locking and disabling/enabling of interrupts. We also applied UNO on the instrumented source code and were able to find the same errors. These defects were confirmed by the developers.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Benchmarking Real-Time Linux Implementation on Embedded Platform

This paperdeals with design, implementation and testing of real time drivers for I2C and UART processor controllers on Beaglebone Black. Embedded Board runs with Linux 3.8.13 and real time co-kernel, Xenomai-2.6.3. Beaglebone Black has cortex A8 processor with 1GHz frequency. Xenomai Real time driver Model(RTDM) drivers are made for I2C and UART processor controller and their performance parame...

متن کامل

Design and Power Analysis in SysteC of an I2C Bus Driver

The paper presents a methodology to integrate information on power consumption in a high level functional description of a System-on-chip. The power dissipated during the execution of each system level instruction, stored in a Look-up Table, is used in a System level simulation. The methodology has been applied to the design of an IC bus driver

متن کامل

SymDrive: Testing Drivers without Devices

Device-driver development and testing is a complex and error-prone undertaking. For example, testing errorhandling code requires simulating faulty inputs from the device. A single driver may support dozens of devices, and a developer may not have access to any of them. Consequently, many Linux driver patches include the comment “compile tested only.” SymDrive is a system for testing Linux and F...

متن کامل

Linux Driver Verification

Linux driver verification is a large application area for software verification methods, in particular, for functional, safety, and security verification. Linux driver software is industrial production code — IT infrastructures rely on its stability, and thus, there are strong requirements for correctness and reliability. This implies that if a verification engineer has identified a bug in a dr...

متن کامل

Deploying Preemptible Linux in the Latest Camcorder

Currently, the Linux kernel is well equipped to compete with the soft realtime operating system. Linux has been the choices of the operating system. We adjusted optimized Linux kernel to the camcorder’s system architecture which is equipped with ARM cortex-A8 and implemented open-source based tool-chain, audio zoom calculation, and realtime HDMI I2C communication and userspace realtime thread p...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009